package boogui.movie;

public class ShowCalendar {

	public static String[] getCalendarModel( int thisyear, int thismonth ) {

			int myday = 0; // 1월 1일의 요일
			int woday = 0; // 요일명
			int tabCount = 0; // 탭 사용횟수
			
			String[] days=new String[48];	// 결과
			int months[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
			
			// 2월 계산
			if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0) {
				months[1] = 29; // 윤년이 아님
			} else {
				months[1] = 28; // 윤연 임
			}
			//System.out.println( monthArray[1] );
			
			// 공식을 이용해서 1월 1일의 요일 구하기
			myday = ((thisyear - 1) * 365 + (thisyear - 1) / 4 - (thisyear - 1)
					/ 100 + (thisyear - 1) / 400 + 1) % 7;
			//System.out.println( myday );
		
			// 현재 달 요일 계산
			for (int i = 0; i < thismonth-1; i++) {
				myday += months[i];
			}
			
			 woday = myday % 7;
			 //System.out.println( woday );
			 
			// 날짜 출력 시작
			// 1 공백 처리
			 int i = 0;
				for ( i = 1; i <= woday; ++i) {
					days[i] = " ";
					++tabCount;
				}
			// 2 실제 일 출력
				//System.out.println(months[thismonth -1]);
			for (int k = i+1, j = 1; j <= months[thismonth -1]; ++j, ++k) {
				days[ k-1 ] = j+"";
				++tabCount;
				if (tabCount % 7 == 0) {
					++k;
				}
			}
				
			// 전체출력
			/*	for (i = 0; i < days.length; ++i) {
					System.out.print( days[i] + " " );

				}*/
/**/
			return days;
		}
			
}
